package cn.fintecher.pangolin.entity.elastic;

import cn.fintecher.pangolin.common.annotation.ExcelAnno;
import cn.fintecher.pangolin.common.enums.VillageCommitteeStatus;
import cn.fintecher.pangolin.common.model.RemarkModel;
import cn.fintecher.pangolin.common.utils.Constants;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;
import java.util.List;

/**
 * @Author : hanwannan
 * @Description : 数据修复-村委资料
 * @Date : 2018/8/23.
 */
@Data
@Document(indexName = Constants.VILLAGE_COMMITTEE_DATA, type = Constants.VILLAGE_COMMITTEE_DATA, shards = 1, replicas = 0)
@ApiModel(value = "VillageCommitteeData", description = "村委资料")
public class VillageCommitteeData {

    @Id
    @ApiModelProperty(notes = "特定字段做Md5生成")
    private String id;

    @ApiModelProperty(notes = "省份")
    @ExcelAnno(cellName = "省份", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String province;

    @ApiModelProperty(notes = "城市")
    @ExcelAnno(cellName = "城市", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String city;

    @ApiModelProperty(notes = "区/县")
    @ExcelAnno(cellName = "区/县", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String area;

    @ApiModelProperty(notes = "镇/乡")
    @ExcelAnno(cellName = "镇/乡", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String town;

    @ApiModelProperty(notes = "村/居委会")
    @ExcelAnno(cellName = "村/居委会", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String village;

    @ApiModelProperty("地区码")
    @ExcelAnno(cellName = "地区码", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String areaCode;

    @ApiModelProperty("查询人")
    @ExcelAnno(cellName = "查询人", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String queryMan;

    @ApiModelProperty("查询日期")
    @ExcelAnno(cellName = "查询日期", fieldDataType = ExcelAnno.FieldDataType.DATE)
    private Date queryDate;

    @ApiModelProperty("联系人")
    @ExcelAnno(cellName = "联系人", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String linkman;

    @ApiModelProperty("职务")
    @ExcelAnno(cellName = "职务", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String position;

    @ApiModelProperty("办公电话")
    @ExcelAnno(cellName = "办公电话", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String officePhone;

    @ApiModelProperty("手机")
    @ExcelAnno(cellName = "手机", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String mobile;

    @ApiModelProperty("家庭电话")
    @ExcelAnno(cellName = "家庭电话", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String homePhone;

    @ApiModelProperty("备注")
    @ExcelAnno(cellName = "备注", fieldDataType = ExcelAnno.FieldDataType.STRING)
    private String remark;

    @ApiModelProperty(notes = "存放合并的地址")
    private String address;

    @ApiModelProperty("导入日期")
    private Date importDate;

    @ApiModelProperty("操作时间")
    private Date operatorTime;

    @ApiModelProperty("批次号")
    private String batchNumber;

    @ApiModelProperty("不匹配信息")
    @Field(type = FieldType.Object)
    private List<RemarkModel> remarkMap;
}
